#include "CharacterVocation.h"
#include "CharacterVocation_knight.h"

Knight::string Knight::_knightVocation = "Knight";
Knight::string Knight::_knightMajor[MAJOR_MAX_PER] = { "Scout", "Fight" };
Knight::WEAPON Knight::_knightWeapon[WEAPON_MAX_PER] = { Dagger, Shortbow };
Knight::ARMOUR Knight::_knightArmour = Leather;

Knight::Knight() :Vocation()
{
	_oath = new string;
	*_oath = "";
}

Knight::Knight(const string & oath, const Vocation & voc) : Vocation(voc)
{
	_oath = new string;
	*_oath = oath;
}

void Knight::DefVocation()
{
	Vocation::DefVocation(_knightVocation);
}

void Knight::DefMajor()
{
	Vocation::DefMajor(_knightMajor);
}

void Knight::DefWeapon()
{
	Vocation::DefWeapon(_knightWeapon);
}

void Knight::DefArmour()
{
	Vocation::DefArmour(_knightArmour);
}


void Knight::DefKnight()
{
	DefVocation();
	DefMajor();
	DefWeapon();
	DefArmour();
}

void Knight::DefOath(const string & oath)
{
	_oath = new string;
	*_oath = oath;
}

void Knight::ShowOath() const
{
	std::cout << "Oath : " << *_oath << std::endl;
}

Knight::~Knight()
{
	delete _oath;
}